﻿Imports System.Data
Imports System.Collections.Generic
Partial Class Controls_wctlProyectoAsignarPersonal
    Inherits System.Web.UI.UserControl
    Dim cBLGPProyecto As New BLGestionProyecto.BLGPProyecto
    'Dim mensaje As New MsgBoxAspNetC.MensajeWeb
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            Try
                Dim lDt As DataTable = cBLGPProyecto.fuBLBuscarProyectox(Session("proyectoId"))
                txtCodigo.Text = lDt.Rows(0).Item(0).ToString
                txtDescripcion.Text = String.Format("Proyecto de Test número {0}", txtCodigo.Text)
                cboFechaInicio.Text = FormatDateTime(lDt.Rows(0).Item(7).ToString, DateFormat.ShortDate)
                cboFechaFin.Text = FormatDateTime(lDt.Rows(0).Item(8).ToString, DateFormat.ShortDate)
                txtLos.Text = lDt.Rows(0).Item(1).ToString
                txtSubLos.Text = lDt.Rows(0).Item(2).ToString
            Catch ex As Exception
                lblmensaje.Text = ex.Message
            End Try
        End If
    End Sub

    Protected Sub btnRetornar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRetornar.Click
        'Retornar al listado de proyectos
        Response.Redirect("wfrmProyectoListar.aspx")
    End Sub

    Protected Sub btnAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        Try
            If Not fuValidarDatosalSeleccionar("ASIGNAR") Then
                Exit Sub
            End If
            Dim lLista As List(Of Object) = dgvGrupoTrabajo.GetSelectedFieldValues("reqcodCategoria")
            Dim lsCategoriaid = lLista.Item(0).ToString
            Session("ProyectoId") = txtCodigo.Text
            Session("CategoriaRequerimiento") = lsCategoriaid
            Session("FechaInicio") = cboFechaInicio.Text
            Session("FechaFin") = cboFechaFin.Text
            Session("CheckOrigen") = "Nuevo"
            Dim valor = cBLGPProyecto.fuBLListarGrupoTrabajoconCantidadFaltante(txtCodigo.Text, lsCategoriaid).Rows(0).Item(0).ToString()
            If valor > 0 Then
                Response.Redirect("wfrmPersonalSeleccionar.aspx")
            Else
                lblmensaje.Text = "* Cantidad completa. Si desea cambiar la cantidad, reemplaze o elimino personas."
            End If
        Catch ex As Exception
            lblmensaje.Text = Err.Description
        End Try
    End Sub

    Protected Sub btnReemplazar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReemplazar.Click
        Try
            If Not fuValidarDatosalSeleccionar("REEMPLAZAR") Then
                Exit Sub
            End If
            Dim lLst As List(Of Object) = dgvIntegrantesGrupo.GetSelectedFieldValues("asicodPersona")
            Dim personalID As String = lLst.Item(0).ToString

            'Session("CategoriaRequerimiento") = categoriaDescripcion
            'Session("FechaInicio") = cboFechaInicio.Text
            'Session("FechaFin") = cboFechaFin.Text
            Response.Redirect("wfrmPersonalSeleccionar.aspx")
        Catch ex As Exception
            lblmensaje0.Text = Err.Description
        End Try
    End Sub

    Protected Sub btnEliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
        Try
            If Not fuValidarDatosalSeleccionar("ELIMINAR") Then
                Exit Sub
            End If
            Dim lLst As List(Of Object) = dgvIntegrantesGrupo.GetSelectedFieldValues("asicodPersona")
            Dim lsPersonalID As String = lLst.Item(0).ToString
            cBLGPProyecto.poBLEliminarPersonalAsignado(lsPersonalID)
            'mensaje.ShowConfirmation("daniel", "daniel", True, False)
            dgvIntegrantesGrupo.DataBind()
            lblmensaje0.Text = "* empleado retirado satisfactoriamente"
        Catch ex As Exception
            lblmensaje0.Text = Err.Description
        End Try
    End Sub
    Function fuValidarDatosalSeleccionar(ByVal psTipoSeleccion As String) As Boolean
        Dim lbErr As Boolean
        Try
            lblmensaje.Text = ""
            lblmensaje0.Text = ""
            Select Case psTipoSeleccion
                Case "ASIGNAR"
                    If dgvGrupoTrabajo.GetSelectedFieldValues("reqcodCategoria").Count = 0 Then
                        lblmensaje.Text &= "* Debe Seleccionar una categoría para asignar personas</BR>"
                        lbErr = True
                    End If
                Case "REEMPLAZAR"
                    If dgvGrupoTrabajo.GetSelectedFieldValues("reqcodCategoria").Count = 0 Then
                        lblmensaje.Text &= "* Debe seleccionar un Personal de la lista a reemplazar</BR>"
                        lbErr = True
                    End If
                Case "ELIMINAR"
                    If dgvGrupoTrabajo.GetSelectedFieldValues("reqcodCategoria").Count = 0 Then
                        lblmensaje.Text &= "* Debe seleccionar un Personal de la lista a eliminar</BR>"
                        lbErr = True
                    End If
            End Select
            Return Not lbErr
        Catch ex As Exception
            lblmensaje.Text = Err.Description
        End Try
    End Function
End Class
